package com.lotusfall.s01;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;

/**
 *  此类为切面类，包含各种切面方法
 */
@Aspect   // 交给Aspect框架去识别切面类
public class MyAspect {
    /**
     * 所有切面的功能都是由切面方法来实现的
     * 可以将各种切面都在此类中进行开发
     *
     * 前置通知的切面方法的规范：
     *  1）访问权限是public
     *  2）方法的返回值是void
     *  3）方法名称自定义
     *  4）方法没有参数，如果有，也只能是JoinPoint类型
     *  5）必须使用@Before注解来声明切入的时机和功能
     *      参数：value：指定切入点表达式
     *
     */
    @Before(value = "execution(public * com.lotusfall.s01.SomeService.doSome(String,int))")
    public void myBefore(){
        System.out.println("切面方法中的前置通知功能实现……");
    }


}
